﻿using System;

namespace dbe.FoundationLibrary.Core.Win32.API
{
    /// <summary>
    /// 定义钩子处理函数。
    /// </summary>
    /// <remarks>
    /// <para>
    /// 钩子是一种特殊类型的函数，可以拦截<see cref="WindowsMessages"/>，以便在消息发送到目标窗口之前对其进行处理。
    /// </para>
    /// </remarks>
    /// <param name="nCode">钩子消息的代码。为HC_ACTION表示可以在处理消息之前对其进行处理。</param>
    /// <param name="wParam"></param>
    /// <param name="lParam"></param>
    /// <returns></returns>
    public delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);

    /// <summary>
    /// 定义一个回调函数，用于枚举子窗口。
    /// </summary>
    /// <param name="hWnd"></param>
    /// <param name="lParam"></param>
    /// <returns>返回一个布尔值，表示是否继续枚举子窗口。</returns>
    public delegate bool EnumChildProc(IntPtr hWnd, IntPtr lParam);
}